package negocio.controlador;

import java.util.ArrayList;
import java.util.Collection;

import negocio.erro.DaoException;
import basica.administrativo.Pessoa;
import dados.interfaces.IDAOFuncionario;
import dados.interfaces.IDAOProfessor;
import dados.persistencias.DAOFuncionario;

public class ControladorPessoa {

	private IDAOFuncionario daoFunc;
	private IDAOProfessor daoProf;
	public ControladorPessoa(){
		this.daoFunc = new DAOFuncionario();
	}
	public void inserirPessoa(Pessoa pessoa){
		this.daoFunc.inserir(pessoa);
	}
	public void alterarPessoa(Pessoa pessoa){
		this.daoFunc.alterar(pessoa);
	}
	public void removerPessoa(Pessoa pessoa){
		this.daoFunc.remover(pessoa);
	}
	public Pessoa pesquisaPessoa(Pessoa pessoa){
		return this.daoFunc.consultarPorId(pessoa.getCodigo());
	}
	public Collection<Pessoa> listarPessoas(){
		ArrayList<Pessoa> listaPessoa = new ArrayList<Pessoa>();
		try {
			listaPessoa = (ArrayList<Pessoa>) this.daoFunc.consultarTodos();
		} catch (DaoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return listaPessoa;
	}
	
	//PROFESSOR
	
	public void inserirProfessor(Pessoa pessoa){
		this.daoProf.inserir(pessoa);
	}
	public void alterarProfessor(Pessoa pessoa){
		this.daoProf.alterar(pessoa);
	}
	public void removerProfessor(Pessoa pessoa){
		this.daoProf.remover(pessoa);
	}
	public Pessoa pesquisaProfessor(Pessoa pessoa){
		return this.daoProf.consultarPorId(pessoa.getCodigo());
	}
	public Collection<Pessoa> listarProfessores(){
		ArrayList<Pessoa> listaPessoa = new ArrayList<Pessoa>();
		try {
			listaPessoa = (ArrayList<Pessoa>) this.daoProf.consultarTodos();
		} catch (DaoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return listaPessoa;
	}
}
